simple pos-based generation implemented