changed names to more declarative ones
orthogonaly checking added, removed unneded joint? method