doesn't work yet but some more code