fix me changes
converted to class based structure (still missing some error logging)