improved object parsing