New attempt with more sane design