started building base functions