several bug fixes

Signed-off-by: Delian Delchev <delian.delchev@gmail.com>