some restructuring and mock data