Refactored completely to rather use object-tools