logic in progress ...