api change and readme update. added ::Compile function