implemented settings page and functionality