correctly handle percent and object