Optimized friends; Needs more optimizations