added most irrelevant stuff to ignore