move declarations to headers