reorder methods to make more logical groupings
better form select. TODO: filtering