expand upon the architecture section in the implementation