How code can solve problems