looks like cheating, but anyway