added infrastructure logger; tests; restructured