part of #9
fixed "" name check, #9
add to #9
added error code for bad default value
closes #5
closes #9