Block settings

supersedes #65 

ping @rande @rmsint