better definitaions