some logic improvments
updated system