autocompile
better interface