add part of havlak
refactor doc