try do this better