beginning to modularize