trying to break things into components