starting to flesh out the logical layers