add compile error handling