making it more flexible