Kinda implemented, need to test!