kperlin doesn't return a list
Fix __contains__ and rewrite getnoise