new camera implemented with matrix
major refactoring
minor update