refactored things...