Implemented final functions

I marked what I think is a bug that needs further consideration