initialize sub