a misnamed file with some type signatures
it has a shift and a reset now
added shift and reset flags