added compilation support
some clean up