All functionality finished and working