worked on implementing stuff