Updated again with proper shit