compiles twice