re-factored compile, render