actually documenting fucntions