public function findByPk($pk) {
		$this->mapper->connect();
		
		//build fluent query
		$query = $this->mapper->newQuery()
		->from($this->entityProfile->getEntityTable())
		->select($this->getSelectColumns())
		->where(Column::__callstatic($this->entityProfile->getPrimaryKey(true))->eq($pk));
		
		//run query
		list($sql, $args) = $query->build();
		return $this->mapper->merge($this->clean(['map.type' => $this->buildExpression($this->entityProfile)]))->execute($sql, $args);
	}