fixed project sturcture a bit and started adding unit tests