add initialize support and test