needs work but meh .
663