fix subview behavior