Improve architecture