using new structure by erik