now working towards a general app framework