more compact, less code and more modularized, still missing shims for client delivery