answer 151 base implementation