Effects "working"

pending revision from the client, and code cleanup.