changing interface of compilation