now with proper commenting