initial customizations by ktemkin