modified, fixed errors