working on impl more