abstracting logic...yea..that sound's like a good commit