added obj input, untested