cleaned up code; much less redundancy, negative and positive clouds all use same functions. Mouse features use closures