first draft of critical implementation #36