Moving some stuff to implementation files