some "reusability and modularity" added (9 pages, boo)