* make Selection * variables memeber variables instead of static (static is EVIL!)
 * add some comments about memory management