more implemented on #1