add new factory and reconstruct api's