Changed file structure and Allow custom block types