heavy work in progress @ gui