some harder stuff to work on later