Index: java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java
===================================================================
--- java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java	(revision 100)
+++ java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java	(revision 101)
@@ -4,10 +4,7 @@
 import static com.framsticks.util.lang.Containers.filterInstanceof;
 
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
 
 import com.framsticks.params.types.ObjectParam;
 import com.framsticks.util.FramsticksException;
-import static com.framsticks.params.SetStateFlags.*;
 
 /**
@@ -23,7 +20,5 @@
  * @author Piotr Sniegowski
  */
-public abstract class SimpleAbstractAccess implements Access {
-
-	private final static Logger log = LogManager.getLogger(SimpleAbstractAccess.class.getName());
+public abstract class SimpleAbstractAccess implements ObjectAccess {
 
 	protected final FramsClass framsClass;
@@ -40,24 +35,4 @@
 		return framsClass;
 	}
-
-	/**
-	 * Simple String key, value class.
-	 */
-	public static class Entry {
-
-		public final String key;
-		public final String value;
-
-		public Entry(String key, String value) {
-			this.key = key;
-			this.value = value;
-		}
-
-		@Override
-		public String toString() {
-			return key + " = " + value;
-		}
-	}
-
 
 	@Override
@@ -129,51 +104,4 @@
 
 	@Override
-	public void setDefault(boolean numericOnly) {
-		for (int i = 0; i < framsClass.getParamCount(); i++) {
-			setDefault(i, numericOnly);
-		}
-	}
-
-	@Override
-	public void setDefault(int i, boolean numericOnly) {
-		ValueParam entry = framsClass.getParamEntry(i, ValueParam.class);
-		if ((entry != null)	&& (!numericOnly || entry.isNumeric())) {
-			set(i, entry.getDef(entry.getStorageType()));
-		}
-	}
-
-	@Override
-	public void setMin() {
-		for (int i = 0; i < framsClass.getParamCount(); i++) {
-			setMin(i);
-		}
-	}
-
-	@Override
-	public void setMin(int i) {
-		PrimitiveParam<?> entry = framsClass.getParamEntry(i, PrimitiveParam.class);
-		Object min = entry.getMin(entry.getStorageType());
-		if (min != null) {
-			set(i, min);
-		}
-	}
-
-	@Override
-	public void setMax() {
-		for (int i = 0; i < framsClass.getParamCount(); i++) {
-			setMax(i);
-		}
-	}
-
-	@Override
-	public void setMax(int i) {
-		PrimitiveParam<?> entry = framsClass.getParamEntry(i, PrimitiveParam.class);
-		Object max = entry.getMax(entry.getStorageType());
-		if (max != null) {
-			set(i, max);
-		}
-	}
-
-	@Override
 	public void save(SinkInterface sink) {
 		assert framsClass != null;
@@ -189,62 +117,4 @@
 		}
 		sink.breakLine();
-	}
-
-	private static Entry readEntry(SourceInterface source) {
-
-		String line;
-		String key = null;
-		StringBuilder value = null;
-		while ((line = source.readLine()) != null) {
-			if (key == null) {
-				int colonIndex = line.indexOf(':');
-				if (colonIndex == -1) {
-					return null;
-				}
-				key = line.substring(0, colonIndex);
-				String inlineValue = line.substring(colonIndex + 1);
-
-
-				if (!inlineValue.startsWith("~")) {
-					return new Entry(key, inlineValue);
-				}
-				value = new StringBuilder();
-				value.append(inlineValue.substring(1));
-				continue;
-			}
-			if (value.length() != 0) {
-				value.append(System.getProperty("line.separator"));
-			}
-			if (line.endsWith("~") && !line.endsWith("\\~")) {
-				value.append(line.substring(0, line.length() - 1));
-				return new Entry(key, value.toString().replaceAll("\\\\~", "~"));
-			}
-			value.append(line);
-		}
-		return null;
-	}
-
-	@Override
-	public void load(SourceInterface source) {
-		//TODO not clearing values, because get from manager gives only fields, not children
-		//this.clearValues();
-
-		Entry entry;
-		while ((entry = readEntry(source)) != null) {
-			Param param = getParam(entry.key);
-			if (param == null) {
-				throw new FramsticksException().msg("param not found in access").arg("name", entry.key).arg("access", this);
-			}
-			if (!(param instanceof ValueParam)) {
-				throw new FramsticksException().msg("param is not a value param").arg("param", param).arg("access", this);
-			}
-			if ((param.getFlags() & ParamFlags.DONTLOAD) == 0) {
-				int retFlags = this.set((ValueParam) param, entry.value);
-				if ((retFlags & (PSET_HITMIN | PSET_HITMAX)) != 0) {
-					String which = ((retFlags & PSET_HITMIN) != 0) ? "small" : "big";
-					log.warn("value of key '{}' was too {}, adjusted", entry.key, which);
-				}
-			}
-		}
 	}
 
@@ -266,23 +136,4 @@
 	}
 
-	/*
-	protected <T extends Comparable<T>> int setAndCut(Param param, Object value, Class<T> type) {
-		int flags = 0;
-		T val = type.cast(value);
-		T min = param.getMin(type);
-		T max = param.getMax(type);
-		if (min != null && val.compareTo(min) < 0) {
-			val = min;
-			flags |= Flags.PSET_HITMIN;
-		}
-		if (max != null && val.compareTo(max) > 0) {
-			val = max;
-			flags |= Flags.PSET_HITMAX;
-		}
-		internalSet(param, val);
-		return flags;
-	}*/
-
-
 	@Override
 	public ParamBuilder buildParam(ParamBuilder builder) {
