FINAL VERZION CODE