abandoned observer pattern, added double clicking