Incoorperated most of Andres' suggestions.