Feature/enforce and access options

close #4 
close #5