Some implementation written for future use