refactor(base): extract base blocks to separate blocks lib