Basic Project Framework

Not ready to merge yet.