sketch of new architecture
add require fog/storage
split_into_module - second commit
split_into_module - stage 3