Added user-friendly functionality, and I think it's finished