we dont need to use interface anymore