cleaned up app directory, fixed factory, added provider