object logic done