working! requires tab indent fixes.