split wrapper objects into different files; simplify templates