restructure layout and add build capabilities