correctly use 2 step compile