added full funcitonality and style