improvements; bugs: fixed