Sounds like a question for a budding CS person.