various functions not commited so far