somewhat working model
sub final