compile function has been fixed