* compile method. not done