updating structure
adding unit test