switching everything to wrapping object, a bit messy at this point