changed calls to being made through attr accessor and added validity checks in menu