added alot more docs