Finally probably maybe working properly