Significant refactoring. Completed selection system.
Further refactoring.