Why do we need this call here ? why not just implement all here ?