I really hate cast operators but...