* full working. needs revisiting in thedaddy