added new structure + tests