revamped testing and compilation