Implement battlefield  interaction; Some refactoring;