Весь код ниже можно выделить в отдельный метод, и использовать как в shell, так и filemap.