modularize and angularize