Added constructors and attack