some tests and compile function