category choose complete, but needs to be cleaned up and seperated to
its own class