Upload initial framework by Jocke