making it more functinoal