i don't know how to ignore these..
functions added for learning