prevent accidental implicit type converion