general behaviour bug fixing