Add gui lib, expand surface, add clickndrag