organized code base, added specs