lots-o-functions and styels to finish this up