starting to take this apart into reusable pieces