adapted project skeleton