vertical sweep implemented

but as usual some issues still...