Initial version with only base methods