Is the solution that I came up with how this problem is usually solved? Or is there a more common, straightforward, "better" way of solving it? W