functionality finished with some new design touches