first pass at making this assemblable