major changes in app functionality, casting to dict only in the last pahse