added my other implementation