Main Framework