tested main to make sure it can compile