i don't really need that manager factory bs, just moving the stuff to a constructor