Implementing a 3d API

Hello all,
This may sound strange to you but I am implementing a simple 3d api for displaying 3d objects (initially only dealing with cubes).
Now what i have done so far is that i have made vector , matrices, lookat, perspective funtions with diffuse shading. The shading is working ok. Vertices are also lined up nicely however the projection is not working out the way it should.
I have made my own lookAt implementation for placing the camera. I setup matrix here and multiply it to the composite matrix. On painting i transform the cube’s faces with the composite matrix. Now the perspective matrix is taken and concatenated with the lookAt view matrix.
What is wrong here or is there anything missing?