same stuff cleaned up a little