feedback added
many of change requested