Basic version with loading