Still have some issues, need to look that up
~ still unfinished!