start implementing generic report maker