merged with kaze branch