figuring out architecture