switching to @eternicode improvements