Working

but quite ugly