started reworking of build process. made private some functions and structs as a result. updated tests