adapted to use AdminLTE framework