profile based build
added tests