committing functional extension, thanks kyle