compile with no require