implemented window operator, put classes into different packages