split methods up a little better in the workflow