Added several implementations